整理了我覺得該先了解的一些專有名詞
wiki-物件導向程式設計、菜鳥式回答:是一種將資料,行為,甚至是程式碼封裝後,物件化的一種程式語言設計方式。優點在於靈活性及維護性高,且個物件間關聯性高。
接著可以衍生出非常多問題,例如什麼是類別(class),模組(module),繼承性等等...
這邊請記得,Ruby是一種OOP的程式語言。
wiki-MVC模式、菜鳥式回答:一種軟體架構,由三種功能層組成,分別是model,controller.view。
衍生:優缺點? 三功能層各負責?
建議先記得,分工明確,工程師間較易協調可快速開發,且程式碼可重複使用率高。
Model:邏輯層,編寫應用程式應有之功能,資料庫管理及設計之區塊。
Controller:管理使用者互動邏輯,model查詢,以View產生template呈現給使用者。
View:表現層,負責管理畫面的呈現。
重點:Rails以此架構設計。
wiki-表現層狀態轉換(英語:Representational State Transfer,縮寫:REST)、菜鳥式回答:一種軟體架設風格,其實回答這題,可能要先了解HTTP、URI、XML以及HTML的設定及標準,此風格是目前最符合剛剛說的這些通訊設定及標準。
如果我被問這題,我會回答剛剛的那些然後說:[我真的沒辦法用簡單兩三句回答這個問題,能否請面試官說明看看?]。然後我就被面試刷掉了。 XD
重點:Rails的設計風格便是RESTful。
wiki-前端和後端
看了應該也知道全端的意思了?就是啥都要會啦!
菜鳥我第一次的回答:我覺得我後端比較行....... (既然是菜鳥,我是會有哪個真的行,所以我又被刷掉了!哈)
如果跟我一樣是菜鳥可以考慮回答:兩個部分我都很有興趣且在持續學習中,Rails本身就是一個非常完整的框架,我相信給我機會,無論前後端,我都可以的。
有確實能展現自己前端或後端實力的專案,再明確表示自己較喜歡哪個部分吧。
由於Rails本身是開發web的一種框架,所以學習Rails的目的通常為開發網站(廢話)。
所以建議想投身此行業的菜鳥,可以先再去查詢以下專有名詞:HTTP method(尤其GET與POST),CORS, SPA, TCP/IP, http, https, DNS, HTTP 狀態碼(200/400/500), 同步及非同步?這些也都會是常見的面試題。
環境設定常常是新手入門的第一個門檻,會遇到很多奇奇怪怪的問題,而解決這些問題的方式及態度,便也是你能不能成為一個工程師的第一個檢定項目,要記住,解決的方式很多種,自己查來的,從會的人身上問來的,只要能解決問題,便是"解答"。
另外,我不是工程師,我也解決了環境設定這個第一個難關,相信每個人都行。
這個部分資料也是非常多,這邊以推薦的資料來做分享。
非常佩服的龍哥(高見龍先生)的作品:為你自己學Ruby on Rails-環境設定佩服的原因是:他不用睡覺的
龍哥是台灣Ruby圈非常有名的一位老師,有興趣的夥伴也可以自行查詢龍哥的資料以及目前在舉辦的ASTRO Camp資訊。
生在開發工具基本上都不用錢的年代,真的很幸福。
VScode
安裝方式,中文化及推薦套件這個就不說明了,請愛用google。
Git,版本控制軟體。
順便推薦龍哥另一部作品為你自己學Git,其實"寫程式"不一定要會Git,但如果不會Git,可能不能算是一個合格工程師喔!(個人看法,不代表所有人都這麼認為)
Github,可以免費放自己專案的網站(放,不是部署),由於每個人學習路徑不同,不一定有人會提醒你API KEY或帳密等重要資料如何處理,這邊再次提醒,使用前請了解剛剛提的那些資料的重要性喔。
Rails是一個非常完整的框架,是利用Ruby為基礎打造出,此框架中後端的部分當然就是以Ruby為主要負責,但運用此框架也要有一定的HTML、CSS、JavaScript的能力,才能將前端的部分良好展現,所以不是只學了Ruby就一定會Rails,不是會了Rails就可以有一個漂亮且熱門的網站。
框架永遠在更新(因為工程師永遠都懶?),而在Ruby的世界還有許許多多的Gem,要先了解原理才能安心使用。前端框架除了Vue跟React外也有許許多多說不完的前端套件,所以只有不斷學習,才能保持自己在工程師的世界中是被需要的。